package com.project.service;

import com.project.bean.CutPageBean;
import com.project.bean.RoomBean;

import java.util.List;

/**
 * 房间业务接口
 */
public interface IRoomService {
    /**
     * 添加房间
     *
     * @param room 房间对象
     */
    void add(RoomBean room);

    /**
     * 按班级编号删除房间
     * 1、统计房间已住人数的数量
     * 2、如果已住人数不为0，返回false
     * 3、如果已住人数为0,先删除该房间的设施维护记录，再删除房间
     *
     * @param roomId
     */
    boolean del(Integer roomId);

    /**
     * 按性别查询可住房间
     * @param gender 性别
     * @return 房间集合
     */
    List<RoomBean> getByGender(String gender);



    /**
     * 通过编号查询房间，同时统计该房间的已住人数
     * 同时查询房间学生集合，学生信息中，需要包含班级名称
     *
     * @param roomId
     * @return 房间对象
     */
    RoomBean getById(Integer roomId);

    /**
     * 分页动态查询房间，同时统计每个房间的已住人数
     *
     * @param pageNO 页码号
     * @param addr   地址
     * @param status 房间状态
     * @param enable 是否可住
     * @param type   房间类型
     * @return 分页对象
     */
    CutPageBean<RoomBean> cutByItem(Integer pageNO, String addr, String status, String enable, String type);
}
